package org.ophion.snitch;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.google.inject.Binder;
import com.google.inject.Module;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalINIConfiguration;
/**
* Created by IntelliJ IDEA.
* User: raferrei
* Date: Nov 6, 2011
* Time: 9:51:24 PM
* To change this template use File | Settings | File Templates.
*/
public class SnitchModule implements Module {
private String configFile;
public SnitchModule(String configFile) {
this.configFile = configFile;
}
@Override
public void configure(Binder binder) {
try {
HierarchicalINIConfiguration config = new HierarchicalINIConfiguration(configFile);
String awsAccess = config.getString("aws.access");
String awsSecret = config.getString("aws.secret");
if ( (awsAccess.length() == 0) || (awsSecret.length() == 0)) {
binder.addError("config file did not include aws access and/or secret keys!");
}
AWSCredentials creds = new BasicAWSCredentials(config.getString("aws.access"), config.getString("aws.secret"));
binder.bind(AWSCredentials.class).toInstance(creds);
binder.bind(Configuration.class).toInstance(config);
} catch (ConfigurationException e) {
binder.addError("error parsing config file", e);
}
}
}